package com.baili.service.inspector;

import java.util.List;
import java.util.Map;

import com.baili.dto.Check;
import com.baili.dto.Defect;
import com.baili.dto.ProductOrder;
import com.baili.dto.Sampling;

/** 
 * @author iceX
 * @version 创建时间：2016年3月31日 下午2:52:58 
 * @Name: InspectorService.java
 */
public interface InspectorService {

	/** 
	 * 检验人员-现场呼叫-事件主题查询
	 */
	public List getEventType();
	
	/** 
	 * 检验人员-现场呼叫-提交事件
	 */
	public void addEventType(String eventTopicId, String eventDescription, String callTime,String fileName);
	
	/** 
	 * 检验人员-现场呼叫-紧急呼叫
	 */
	public List getcallTypeList();
	
	/** 
	 * 检验人员-现场呼叫-缺陷统计查询
	 */
	public List getmyFaultList(ProductOrder productOrder);
	
	/** 
	 * 检验人员-现场呼叫-缺陷统计条数查询
	 */
	public int getmyFaultCount();

	/** 
	 * 检验人员-现场呼叫-根据时间缺陷统计查询
	 */
	public List getmyFaultListByTime(String startTime, String endTime,Integer userId,String productCode,int checkProcess);

	/** 
	 * 检验人员-现场呼叫-根据时间缺陷统计条数查询
	 */
	public int getmyFaultCountByTime(String startTime, String endTime,Integer userId,String productCode);
	
	/**
	 * 呼叫设置
	 * @return
	 */
	public List getCallList();
	/**
	 * 更新选择状态
	 * @param state
	 * @param id
	 * @return
	 */
	public int updateCheakState(Integer state,Integer id);
	/**
	 * 
	 * 更新缺陷的列表
	 * @param state
	 * @param id
	 */
	public List getFaultList();
	/**
	 * 
	 * 更新缺陷的状态设置
	 * @param state
	 * @param id
	 */
	public int updateFaultState(Integer state,Integer id,Integer checkId,Integer stage,Integer kzType,String processName);
	/**
	 * 
	 * 更新缺陷的状态设置(成品)
	 * @param state
	 * @param id
	 */
	public int updateFaultState(Integer state,Integer id,Integer checkId,Integer stage,Integer kzType,String processName,int type);
	
	/**
	 * 
	 * 质检工序选择
	 * @return
	 */
	public List getProcessList();
	
	/**
	 * 
	 * 我的缺陷列表
	 * @return
	 */
	public List getFaultListForme();
	
	/**
	 * 
	 * 删除缺陷列表的某一列
	 * @param id
	 */
	public int deleteFaultList(Integer id);
	/**
	 * 新增我的缺陷
	 * @param id
	 * @return
	 */
	public int insrtFaultForme(String fault,Integer state);

	public List getproductorderListCheckedDetails(int id);

	public List getproductorderListChecked(ProductOrder productOrder);

	public List getproductorderListCheck(ProductOrder productOrder);
	
	public List<Map<String,Object>> getCheckId(Check check);
	
	public void insertDefect(Defect defect);
	public void updateCheckTime(Check check);
	
	public List<Map<String,Object>> getDefectList(Defect defect);
	
	public List<Map<String,Object>> getDefectUser(Defect defect) ;
	
	public List insertDefectUser(Defect defect) ;
	
	public List deleteDefectUser(Defect defect);
	
	public List<Map<String,Object>> getCallOrDefectAndPictureOrVedio(Integer id,Integer state,Integer type );
	
	public List getDefectAndProcess();
	
	public Map<String,Object> updateQualifiedCount(ProductOrder productOrder);
	
	public List getMaxCheckNumber(Check check);
	
	public List<Map<String, Object>> getDefectAndPictureOrVedio(String fileName, Integer state, Integer type);
	
	public List<Map<String, Object>> getDefectUserLst(Defect defect);
	
	public List<Map<String, Object>> getCreateSamplingInfo();
	
	public void insertSampling(Sampling samplingDto);
	
	public List<Map<String, Object>> getSamplingLst(Sampling sampling);
	
	public List<Map<String, Object>> getSamplingDetails(Sampling sampling);
	
	public List<Map<String, Object>> getSamplingStatistic(Sampling sampling);
	
	public void insertCheckPost(Sampling sampling);
	
	public void deleteCheckPost(Sampling sampling);
	
	public List<Map<String, Object>> getCheckPostLst();
}
